import { UserInfo } from './reservation';

export type ApprovalStatus = 'pending' | 'approved' | 'rejected';

export interface ApprovalItem {
  id: string;
  roomId: string;
  roomNumber: string;
  floorNumber: number;
  startTime: string;
  endTime: string;
  purpose: string;
  status: ApprovalStatus;
  createTime: string;
  updateTime: string;
  user: UserInfo;
}

export interface ApprovalState {
  loading: boolean;
  list: ApprovalItem[];
  total: number;
  currentPage: number;
  pageSize: number;
  filters: {
    status?: ApprovalStatus;
    dateRange?: [string, string];
    keyword?: string;
  };
}

export interface ApprovalListResponse {
  status: number;
  data: {
    list: ApprovalItem[];
    total: number;
  };
  message: string;
} 